package org.wang.generalcode.modules.sys.service;

import com.baomidou.mybatisplus.extension.service.IService;
import org.wang.generalcode.modules.sys.pojo.entity.Menu;
import org.wang.generalcode.modules.sys.pojo.model.Option;
import org.wang.generalcode.modules.sys.pojo.params.MenuParams;
import org.wang.generalcode.modules.sys.pojo.params.PageParams;
import org.wang.generalcode.modules.sys.pojo.vo.MenuVO;
import org.wang.generalcode.modules.sys.pojo.vo.RouteVO;

import java.util.List;

/**
 * 菜单管理 服务类
 *
 * @author wz
 * @since 2024-08-08
 */
public interface IMenuService extends IService<Menu> {

	/**
	 * 自定义分页
	 *
	 * @param menu
	 * @return
	 */
	List<MenuVO> listMenus(PageParams menu);

	/**
	 * 通过角色获取角色菜单
	 * @param roles
	 * @return
	 */
	List<RouteVO> listRoutes(List<String> roles);

	/**
	 * 菜单下拉列表
	 *
	 * @param onlyParent
	 * @return
	 */
	List<Option> listMenuOptions(boolean onlyParent);

	/**
	 * 保存菜单
	 * @param menuParams
	 * @return
	 */
    boolean saveMenu(MenuParams menuParams);
}
